package com.zzyl.nursing.mapper;

import com.zzyl.nursing.domain.DeviceData;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

@Mapper
public interface DeviceDataMapper extends BaseMapper<DeviceData> {

    // MyBatis Plus 已经提供了基本的CRUD方法

    /**
     * 根据设备ID查询最新数据
     */
    DeviceData selectLatestByIotId(@Param("iotId") String iotId);

    /**
     * 根据产品key和设备ID查询数据
     */
    List<DeviceData> selectByProductKeyAndIotId(@Param("productKey") String productKey,
                                                @Param("iotId") String iotId);

    /**
     * 统计某个时间段内的设备数据数量
     */
    Integer countByTimeRange(@Param("startTime") LocalDateTime startTime,
                             @Param("endTime") LocalDateTime endTime,
                             @Param("iotId") String iotId);
}